<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Java Virtual Machine</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Java_Virtual_Machine"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Java_Virtual_Machine rootpage-Java_Virtual_Machine skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Java Virtual Machine</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr">
<p>Die <b>Java Virtual Machine</b> (abgekürzt <i>Java VM</i> oder <i>JVM</i>) ist der Teil der <a href="Java-Laufzeitumgebung" title="Java-Laufzeitumgebung">Java-Laufzeitumgebung</a> (Java Runtime Environment, JRE) für <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a>-Programme, der für die Ausführung des <a href="Java-Bytecode" class="mw-redirect" title="Java-Bytecode">Java-Bytecodes</a> verantwortlich ist. Hierbei wird im Normalfall jedes gestartete Java-Programm in seiner eigenen <a href="Virtuelle_Maschine" title="Virtuelle Maschine">virtuellen Maschine</a> (VM) ausgeführt. Der andere Teil der Java-Laufzeitumgebung sind die Java-<a href="Klassenbibliothek" class="mw-redirect" title="Klassenbibliothek">Klassenbibliotheken</a>.
</p><p>Die JVM dient dabei als <a href="Schnittstelle#Softwareschnittstelle" title="Schnittstelle">Schnittstelle</a> zur Maschine und zum <a href="Betriebssystem" title="Betriebssystem">Betriebssystem</a> und ist für die meisten Plattformen verfügbar (z. B. <a href="Linux" title="Linux">Linux</a>, <a href="MacOS" title="MacOS">macOS</a>, <a href="Palm_OS" title="Palm OS">Palm OS</a>, <a href="Solaris_(Betriebssystem)" title="Solaris (Betriebssystem)">Solaris</a>, <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a>, <a href="Z/OS" title="Z/OS">z/OS</a>). Die JVM ist meist in den Programmiersprachen <a href="C_(Programmiersprache)" title="C (Programmiersprache)">C</a> oder <a href="C%2B%2B" title="C++">C++</a> geschrieben.
</p><p>Die Bestandteile der JVM sind
</p>
<ul><li>der Klassenlader (<i><span lang="en">classloader</span></i> und <i><span lang="en">resolver</span></i>),</li>
<li>die <a href="Speicherverwaltung" title="Speicherverwaltung">Speicherverwaltung</a> sowie <a href="Speicherbereinigung" class="mw-redirect" title="Speicherbereinigung">(selbsttätige) -bereinigung</a> (<i><span lang="en">garbage collection</span></i>) und die</li>
<li>Ausführungseinheit (<i><span lang="en">execution engine</span></i>).</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Funktionsprinzip">Funktionsprinzip</h2></div>
<p>Vom <a href="Java-Compiler" class="mw-redirect" title="Java-Compiler">Java-Compiler</a> erzeugter (<a href="Plattformunabh%C3%A4ngig" class="mw-redirect" title="Plattformunabhängig">plattformunabhängiger</a>) <a href="Bytecode" title="Bytecode">Bytecode</a> wird von einer plattformabhängigen Java Virtual Machine ausgeführt. Die erzeugten Bytecode-Dateien (Dateiendung „.class“) werden während der <a href="Laufzeit_(Informatik)" title="Laufzeit (Informatik)">Laufzeit</a> in die lokale <a href="Maschinensprache" title="Maschinensprache">Maschinensprache</a> übersetzt. Die virtuelle Maschine arbeitet dabei wie ein <a href="Interpreter" title="Interpreter">Interpreter</a>, ist jedoch wesentlich schneller, da z. B. keine <a href="Syntax" title="Syntax">Syntaxüberprüfungen</a> mehr vorgenommen werden müssen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Sicherheitsvorteile">Sicherheitsvorteile</h2></div>
<p>Die Java Virtual Machine bietet neben der Plattformunabhängigkeit des Bytecodes auch einen Gewinn an Sicherheit. Sie überwacht zur Laufzeit die Ausführung des Programms, verhindert also zum Beispiel <a href="Puffer%C3%BCberlauf" title="Pufferüberlauf">Pufferüberläufe</a>, welche zu unvorhersehbarem Verhalten wie etwa dem Absturz des Programmes führen. Im speziellen Fall von Java fällt diese Überwachung sehr einfach aus, da Java nicht direkt <a href="Zeiger_(Informatik)" title="Zeiger (Informatik)">Zeiger</a> unterstützt (nur implizit).
</p>
<div class="mw-heading mw-heading2"><h2 id="Optimierungsverfahren">Optimierungsverfahren</h2></div>
<p>Um die Ausführungsgeschwindigkeit von Java-Programmen zu erhöhen, setzen die meisten Java-VMs sogenannte <a href="JIT-Compiler" class="mw-redirect" title="JIT-Compiler">JIT-Compiler</a> (JITC) ein, die unmittelbar während des Programmablaufs den Bytecode „<b>J</b>ust <b>I</b>n <b>T</b>ime“ dauerhaft in <a href="Maschinencode" class="mw-redirect" title="Maschinencode">Maschinencode</a> übersetzen.
Eine Weiterentwicklung dieses Ansatzes ist der Hotspot-Optimizer von <a href="Sun_Microsystems" title="Sun Microsystems">Sun</a>, welcher mit dynamischer Optimierung arbeitet:
</p>
<div class="mw-heading mw-heading3"><h3 id="Dynamische_Optimierung">Dynamische Optimierung</h3></div>
<div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="Dynamische_Optimierung" title="Dynamische Optimierung">Dynamische Optimierung</a></i></div>
<p>Oft ist zum Zeitpunkt der <a href="Kompilierung" class="mw-redirect" title="Kompilierung">Kompilierung</a> nicht bekannt, welche konkrete <a href="Eingabe_(Computer)" title="Eingabe (Computer)">Eingabe</a> eine <a href="Software" title="Software">Software</a> verarbeiten muss. Demzufolge muss die Software mit allen Arten von Eingaben zurechtkommen. Die Eingabe wird demnach in <a href="Variable_(Programmierung)" title="Variable (Programmierung)">Variablen</a> gespeichert. Nach dem Start des Programms werden jedoch viele Variablen nicht mehr geändert. Folglich sind diese – von einem Zeitpunkt kurz nach dem Start an – Konstanten. Wird nun erst nach diesem Zeitpunkt die Software für die System-Architektur kompiliert (dies ist bei <a href="HotSpot" title="HotSpot">HotSpot</a> der Fall), so können diese Konstanten berücksichtigt werden. Bestimmte <a href="Bedingte_Anweisung_und_Verzweigung" title="Bedingte Anweisung und Verzweigung">Verzweigungen</a>, die nur von solchen „Halbkonstanten“ abhängig sind, sind dann für immer eindeutig und stellen somit kein Risiko für eine falsche <a href="Sprungvorhersage" title="Sprungvorhersage">Sprungvorhersage</a> dar. Ein solcher Programmcode kann also schneller ablaufen als zu einem früheren Zeitpunkt kompilierter Code.
</p>
<div class="mw-heading mw-heading3"><h3 id="Implementierungen_in_Hardware">Implementierungen in Hardware</h3></div>
<p>Ausführungen in <a href="Hardware" title="Hardware">Hardware</a> sind die <a href="Java-Prozessor" title="Java-Prozessor">Java-Prozessoren</a>, <a href="Mikroprozessor" title="Mikroprozessor">Mikroprozessoren</a>, die Java-Bytecode als <a href="Maschinensprache" title="Maschinensprache">Maschinensprache</a> verwenden. Sie konnten sich gegen die schnelle Steigerung der Leistungsfähigkeit von prozessorspezifischen JVMs auf anderssprachigen Prozessoren, wie in PCs und Mobiltelefonen eingesetzt, nicht durchsetzen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Abschottung_der_Threads">Abschottung der Threads</h2></div>
<p>Die Java VM schottet die in ihr laufenden Prozesse vom Betriebssystem ab (Green Threads). Sie bildet standardmäßig Java-<a href="Thread_(Informatik)" title="Thread (Informatik)">Threads</a> durch Threads des Betriebssystems ab. Nur in Ausnahmefällen erfolgt das Thread-Management durch die Java VM. Somit ist es auch möglich, auf einem Betriebssystem, das kein Multithreading unterstützt, eine Java VM mit vollem Funktionsumfang anzubieten.
</p><p>Die Java VM hat stets volle und standardkonforme Hoheit über die Java-Threads, d. h. der Programmierer braucht nicht die betriebssystemspezifischen Multi-Threading/Tasking/Processing-Eigenschaften zu berücksichtigen und kann sich stets auf die <a href="Java-Laufzeitumgebung" title="Java-Laufzeitumgebung">JRE</a> verlassen. Nachteil ist, dass Probleme, die von einem Thread ausgehen, seitens des Betriebssystems dem gesamten Prozess zugeordnet werden. Gängige Betriebssysteme (wie zum Beispiel Linux, Windows) erlauben Kontrolle über diese „nativen“ Threads allenfalls über Software von Drittanbietern, wie beispielsweise die mit dem <a href="Java_Development_Kit" title="Java Development Kit">JDK</a> mitgelieferte VisualVM. Standardwerkzeuge wie beispielsweise der <a href="Taskmanager" title="Taskmanager">Windows Taskmanager</a> zeigen Systemthreads jedoch nicht an.
</p>
<div class="mw-heading mw-heading2"><h2 id="JVM-Sprachen">JVM-Sprachen</h2></div>
<p>Neben Java gibt es auch andere Sprachen, die als Programmiersprachen für JVM-Programme benutzt werden können. Unter anderem folgende Sprachen können auf einer JVM laufen:
</p>
<ul><li><a href="Clojure" title="Clojure">Clojure</a>, ein <a href="Lisp" title="Lisp">Lisp</a>-Dialekt,</li>
<li><a href="Ceylon_(Programmiersprache)" title="Ceylon (Programmiersprache)">Ceylon</a>,</li>
<li>Concurnas, eine Multi-Paradigma-Programmiersprache für <a href="Nebenl%C3%A4ufigkeit" title="Nebenläufigkeit">nebenläufige</a>, <a href="Verteiltes_System" title="Verteiltes System">verteilte</a> und <a href="Reaktive_Programmierung" title="Reaktive Programmierung">reaktive</a> Anwendungen, mit Python-ähnlicher Syntax, Unterstützung für GPU-Computing und Off-Heap-Speicherverwaltung.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></li>
<li>Erjang, ein <a href="Erlang_(Programmiersprache)" title="Erlang (Programmiersprache)">Erlang</a>-Dialekt für die JVM,</li>
<li><a href="Free_Pascal" title="Free Pascal">Free Pascal</a>, das auch unter der JVM einen Großteil der <a href="Object_Pascal" title="Object Pascal">Object-Pascal</a>-Konstrukte unterstützt,</li>
<li><a href="Groovy" title="Groovy">Groovy</a>, eine sehr Java-nahe, statisch wie dynamisch typisierte Programmiersprache</li>
<li><a href="JRuby" title="JRuby">JRuby</a>, eine annähernd <a href="Ruby_(Programmiersprache)" title="Ruby (Programmiersprache)">Ruby</a>-kompatible Implementierung,</li>
<li><a href="Jython" title="Jython">Jython</a> (früher: JPython), eine reine Java-Implementierung der Programmiersprache Python,</li>
<li><a href="Kotlin_(Programmiersprache)" title="Kotlin (Programmiersprache)">Kotlin</a>, eine 2011 vorgestellte Sprache von <a href="JetBrains" title="JetBrains">JetBrains</a><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Nice_(Programmiersprache)" title="Nice (Programmiersprache)">Nice</a>, ergänzt Java mit parametrischen Typen, anonymen Funktionen, Multimethoden, Tupel und optionalen Parametern<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Scala_(Programmiersprache)" title="Scala (Programmiersprache)">Scala</a>, eine Sprache, die Eigenschaften von Java mit funktionaler Programmierung vereint.</li></ul>
<p>Daneben gibt es eine Reihe von <a href="Skriptsprache" title="Skriptsprache">Skripting-Sprachen</a>, die von Java aus aufrufbar sind. Dazu gehört <a href="JavaScript" title="JavaScript">JavaScript</a> (mittlerweile standardisiert als ECMAScript) mit dem „Rhino“-Interpreter (ein Mozilla-Projekt) bis Version 7 bzw. mit dem „Nashorn“-Interpreter ab Version 8. Auch <a href="JavaFX" title="JavaFX">JavaFX</a> enthielt in den Versionen 1.x eine Skripting-Sprache vor allem für grafische Elemente, ist aber ab Version 2.0 in pure Java implementiert.
</p>
<div class="mw-heading mw-heading2"><h2 id="Kompilierung_in_JavaScript">Kompilierung in JavaScript</h2></div>
<p>Mit der kontinuierlichen Verbesserung der JavaScript-Ausführungsgeschwindigkeit, kombiniert mit der verstärkten Nutzung mobiler Geräte, deren Webbrowser keine Unterstützung für Plugins bereitstellen, gibt es Bemühungen, diese Benutzer durch Kompilierung in JavaScript anzusprechen. Es ist möglich, den Quellcode oder JVM-Bytecode nach JavaScript zu kompilieren.
</p><p>Die Kompilierung des JVM-Bytecodes, der für alle JVM-Sprachen universell ist, ermöglicht es, auf dem bestehenden Compiler der Sprache aufzubauen und Bytecode zu erstellen. Die wichtigsten JVM-Bytecodes für JavaScript-Compiler sind TeaVM<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>, der Compiler im Dragome Web SDK<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>, Bck2Brwsr<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>, und j2js-Compiler<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>.
</p><p>Zu den führenden Compilern von JVM-Sprachen zu JavaScript gehören der Java-zu-JavaScript-Compiler in <a href="Google_Web_Toolkit" title="Google Web Toolkit">Google Web Toolkit</a>, <a href="Clojure" title="Clojure">Clojurescript</a> (Clojure), <a href="Groovy" title="Groovy">GrooScript (Apache Groovy)</a>, <a href="Scala_(Programmiersprache)" title="Scala (Programmiersprache)">Scala.js (Scala)</a> und andere<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2></div>
<ul><li><a href="Dalvik_Virtual_Machine" title="Dalvik Virtual Machine">Dalvik</a> – eine von Google für die <a href="Android_(Betriebssystem)" title="Android (Betriebssystem)">Android-Plattform</a> entwickelte JVM</li>
<li><a href="HotSpot" title="HotSpot">HotSpot</a> – die am weitesten verbreitete JVM von Oracle</li>
<li>IBM J9</li>
<li>JRockit (<a href="BEA_Systems" title="BEA Systems">BEA Systems</a>, jetzt <a href="Oracle" title="Oracle">Oracle</a>)</li>
<li><a href="Kaffe" title="Kaffe">Kaffe</a> – eine <a href="Freie_Software" title="Freie Software">freie</a> <a href="GNU_General_Public_License" title="GNU General Public License">GPL</a>-JVM-Implementierung</li>
<li>Persistent Reusable Java Virtual Machine (PRJVM) – eine von <a href="IBM" title="IBM">IBM</a> modifizierte Form der JVM</li>
<li>PreonVM,<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> virtuelle Maschine für ressourcenbeschränkte eingebettete Systeme</li>
<li>SableVM – <a href="Freie_Software" title="Freie Software">freie</a> <a href="GNU_Lesser_General_Public_License" title="GNU Lesser General Public License">LGPL</a> JVM-Implementierung</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<div class="sisterproject" style="margin:0.1em 0 0 0;"><div class="noresize noviewer" style="display:inline-block; line-height:10px; min-width:1.6em; text-align:center;" aria-hidden="true" role="presentation"><span class="mw-default-size" typeof="mw:File"><span title="Commons"></span></span></div><b><span class=""><a class="external text" href="https://commons.wikimedia.org/wiki/Category:Java_Virtual_Machine?uselang=de"><span lang="en">Commons</span>: Java Virtual Machine</a></span></b> – Sammlung von Bildern, Videos und Audiodateien</div>
<ul><li><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Download-Seite der JRE</a> (inklusive der Java Virtual Machine) bei Oracle</li>
<li><a rel="nofollow" class="external text" href="http://download.oracle.com/javase/6/docs/technotes/guides/vm/index.html">JVM</a> Dokumentation bei Oracle</li>
<li><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/specs/">Spezifikation der Java VM</a> (englisch)</li>
<li><a rel="nofollow" class="external text" href="http://www.spec.org/jvm2008/">SPECjvm</a>, De-facto-Standard zur Messung der Leistung einer JVM</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.infoq.com/news/2020/05/concurnas-jvm-gpu/"><i>Concurnas: the New Language on the JVM for Concurrent and GPU Computing.</i></a> In: <i>InfoQ.com.</i> C4Media Inc.,<span class="Abrufdatum"> abgerufen am 25. Juni 2020</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJava+Virtual+Machine&rft.title=Concurnas%3A+the+New+Language+on+the+JVM+for+Concurrent+and+GPU+Computing&rft.description=Concurnas%3A+the+New+Language+on+the+JVM+for+Concurrent+and+GPU+Computing&rft.identifier=https%3A%2F%2Fwww.infoq.com%2Fnews%2F2020%2F05%2Fconcurnas-jvm-gpu%2F&rft.publisher=C4Media+Inc.&rft.date=&rft.language=en"> </span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://concurnas.com/"><i>The Concurnas Programming Language.</i></a> Concurnas Ltd.,<span class="Abrufdatum"> abgerufen am 25. Juni 2020</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJava+Virtual+Machine&rft.title=The+Concurnas+Programming+Language&rft.description=The+Concurnas+Programming+Language&rft.identifier=https%3A%2F%2Fconcurnas.com%2F&rft.publisher=Concurnas+Ltd.&rft.language=en"> </span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://it-republik.de/jaxenter/news/Kotlin-Erster-Web-Auftritt-fuer-JetBrains-JVM-Sprache-061429.html">Kotlin: Erster Web-Auftritt für JetBrains JVM-Sprache</a>, it-republik.de, abgerufen am 22. Juli 2012</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://nice.sourceforge.net/index.html"><i>The Nice programming language.</i></a><span class="Abrufdatum"> Abgerufen am 15. August 2019</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJava+Virtual+Machine&rft.title=The+Nice+programming+language&rft.description=The+Nice+programming+language&rft.identifier=http%3A%2F%2Fnice.sourceforge.net%2Findex.html&rft.language=en"> </span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://teavm.org/"><i>TeaVM: Build Fast, Modern Web Apps in Java.</i></a><span class="Abrufdatum"> Abgerufen am 23. Oktober 2019</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJava+Virtual+Machine&rft.title=TeaVM%3A+Build+Fast%2C+Modern+Web+Apps+in+Java&rft.description=TeaVM%3A+Build+Fast%2C+Modern+Web+Apps+in+Java&rft.identifier=http%3A%2F%2Fteavm.org%2F&rft.language=en"> </span></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.dragome.com/"><i>Dragome Web SDK.</i></a><span class="Abrufdatum"> Abgerufen am 23. Oktober 2019</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJava+Virtual+Machine&rft.title=Dragome+Web+SDK&rft.description=Dragome+Web+SDK&rft.identifier=http%3A%2F%2Fwww.dragome.com%2F&rft.language=en"> </span></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://wiki.apidesign.org/wiki/Bck2Brwsr"><i>Bck2Brwsr – APIDesign.</i></a><span class="Abrufdatum"> Abgerufen am 23. Oktober 2019</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJava+Virtual+Machine&rft.title=Bck2Brwsr+%E2%80%93+APIDesign&rft.description=Bck2Brwsr+%E2%80%93+APIDesign&rft.identifier=http%3A%2F%2Fwiki.apidesign.org%2Fwiki%2FBck2Brwsr&rft.language=en"> </span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://github.com/decatur/j2js-compiler"><i>GitHub – decatur/j2js-compiler: A Java Bytecode to JavaScript Cross-Compiler.</i></a> In: <i>GitHub.</i><span class="Abrufdatum"> Abgerufen am 23. Oktober 2019</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJava+Virtual+Machine&rft.title=GitHub+%E2%80%93+decatur%2Fj2js-compiler%3A+A+Java+Bytecode+to+JavaScript+Cross-Compiler.&rft.description=GitHub+%E2%80%93+decatur%2Fj2js-compiler%3A+A+Java+Bytecode+to+JavaScript+Cross-Compiler.&rft.identifier=https%3A%2F%2Fgithub.com%2Fdecatur%2Fj2js-compiler&rft.language=en"> </span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js"><i>List of languages that compile to JS · jashkenas/coffeescript Wiki · GitHub.</i></a> Github.com,<span class="Abrufdatum"> abgerufen am 26. Juni 2015</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJava+Virtual+Machine&rft.title=List+of+languages+that+compile+to+JS+%C2%B7+jashkenas%2Fcoffeescript+Wiki+%C2%B7+GitHub&rft.description=List+of+languages+that+compile+to+JS+%C2%B7+jashkenas%2Fcoffeescript+Wiki+%C2%B7+GitHub&rft.identifier=https%3A%2F%2Fgithub.com%2Fjashkenas%2Fcoffeescript%2Fwiki%2Flist-of-languages-that-compile-to-js&rft.publisher=Github.com&rft.language=en"> </span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */
.mw-parser-output .webarchiv-memento a{color:inherit}
/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20171111041825/https://www.virtenio.com/de/preonvm-virtuelle-maschine.html">PreonVM | Virtuelle Maschine für die Preon32-Serie</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */
.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}
/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=https%3A%2F%2Fwww.virtenio.com%2Fde%2Fpreonvm-virtuelle-maschine.html">Originals</a></span> vom 11. November 2017 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span> <b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/https://www.virtenio.com/de/preonvm-virtuelle-maschine.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="https://www.virtenio.com/de/preonvm-virtuelle-maschine.html">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.virtenio.com</span> Abgerufen am 10. November 2017</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-09-25" href="https://de.wikipedia.org/wiki/?title=Java_Virtual_Machine&oldid=260041976">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>